/*
 * 
 * Libman
 * 
 * Daniel Kaufmann, Martin Lang, Simon Moosbrugger,
 * Stefan Mayer, Stephan Halbeisen
 * 
 */
package model;

import java.util.Set;

/**
 * The Class Exemplar.
 */
public class Exemplar implements java.io.Serializable {

	/** The Constant serialVersionUID. */
	private static final long serialVersionUID = 1L;
	
	/** The id. */
	private Integer id;
	
	/** The invno. */
	private String invno;
	
	/** The medium. */
	private Medium medium;
	
	/** The loans. */
	private Set<Loan> loans;

	/**
	 * Instantiates a new exemplar.
	 */
	public Exemplar() {
	}

	/**
	 * Instantiates a new exemplar.
	 * 
	 * @param invno
	 *            the invno
	 */
	public Exemplar(String invno) {
		this.invno = invno;
	}

	/**
	 * Instantiates a new exemplar.
	 * 
	 * @param loans
	 *            the loans
	 * @param invno
	 *            the invno
	 */
	public Exemplar(Set<Loan> loans, String invno) {
		this.loans = loans;
		this.invno = invno;
	}

	/**
	 * Gets the id.
	 * 
	 * @return the id
	 */
	public Integer getId() {
		return this.id;
	}

	/**
	 * Sets the id.
	 * 
	 * @param id
	 *            the new id
	 */
	public void setId(Integer id) {
		this.id = id;
	}

	/**
	 * Gets the invno.
	 * 
	 * @return the invno
	 */
	public String getInvno() {
		return this.invno;
	}

	/**
	 * Sets the invno.
	 * 
	 * @param invno
	 *            the new invno
	 */
	public void setInvno(String invno) {
		this.invno = invno;
	}

	/**
	 * Gets the medium.
	 * 
	 * @return the medium
	 */
	public Medium getMedium() {
		return medium;
	}

	/**
	 * Sets the medium.
	 * 
	 * @param medium
	 *            the new medium
	 */
	public void setMedium(Medium medium) {
		this.medium = medium;
	}

	/**
	 * Gets the loans.
	 * 
	 * @return the loans
	 */
	public Set<Loan> getLoans() {
		return this.loans;
	}

	/**
	 * Sets the loans.
	 * 
	 * @param loans
	 *            the new loans
	 */
	public void setLoans(Set<Loan> loans) {
		this.loans = loans;
	}
}
